package stack;

import java.util.ArrayList;
import java.util.List;
import java.util.Stack;

import list.MeuArrayList;

public class MinhaPilha<T> {
	private static final long serialVersionUID = 1L;
	
	private MeuArrayList<T> lista;

	public MinhaPilha() {
		lista = new MeuArrayList<T>();
	}

	public T push(T elemento) {
		lista.add(elemento);
		
		return elemento;
	}

	// Devolve e não remove
	public T peek() {
		if (lista.size() > 0) {
			return lista.get(lista.size() - 1);
		}

		return null;
	}

	// Devolve e remove
	public T pop() {
		T retorno = null;
		
		if (lista.size() > 0) {
			retorno = lista.get(lista.size() - 1);
			
			lista.remove(lista.size() - 1);
		}

		return retorno;
	}
	
	public int size() {
		return lista.size();
	}
}
